The present disclosure relates to controlling communications between applications and resources of a mobile device.
Operating system (OS) vendors frequently push updates to mobile devices, e.g., smart phones. These OS updates can have significant impact on operability of applications that are already installed on the devices. In many updates, OS vendors modify available OS application programming interfaces (APIs) by adding new APIs to an updated OS version, replacing some APIs that were present in a previous OS version with different but compatible APIs in the updated OS version, and deleting APIs that were present in the previous OS version from the updated OS version. Applications may have been designed to call APIs that were known to the developer to be available in a particular OS version. Consequently, updating the OS of a mobile device can cause installed applications to crash or Operate incorrectly.
It can be impractical or undesirable to expect developers to quickly provide updates to applications and for users to download the updated applications whenever a new OS version is released. For example, some applications released through application stores are no longer maintained by developers and, thus, there is no ongoing development effort to track incompatibilities that arise as subsequent OS versions are released. Unfortunately, users have a dilemma of wanting to update the OS on a mobile device but being wary of negative consequential effects on installed application operability.